package com.sgcc.operate.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sgcc.common.core.annotation.Excel;
import com.sgcc.common.core.web.domain.BaseEntity;

/**
 * 功能菜单明细对象 o_monsys_menu
 * 
 * @author sgcc
 * @date 2021-04-10
 */
public class OMonsysMenu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date createDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date updateDate;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String remarks;

    /** 逻辑删除标记（0：显示；1：隐藏） */
    @Excel(name = "逻辑删除标记", readConverterExp = "0=：显示；1：隐藏")
    private String delFlag;

    /** 父级编号 */
    @Excel(name = "父级编号")
    private String parentId;

    /** 所有父级编号 */
    @Excel(name = "所有父级编号")
    private String parentIds;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 监控系统编码,采用标准编码sysCode */
    @Excel(name = "监控系统编码,采用标准编码sysCode")
    private String monSysCode;

    /** 功能说明 */
    @Excel(name = "功能说明")
    private String menuExplain;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseTime;

    /** 附件路径，主要上传流程图 */
    @Excel(name = "附件路径，主要上传流程图")
    private String accePath;

    /** 操作工号 */
    @Excel(name = "操作工号")
    private String operStaff;

    /** 维护时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date operTime;

    /** 排列顺序 */
    @Excel(name = "排列顺序")
    private Long sortNo;

    /** 是否父级，采用标准编码yes0rNo 1是，0否 */
    @Excel(name = "是否父级，采用标准编码yes0rNo 1是，0否")
    private String isPar;

    /** 等级 */
    @Excel(name = "等级")
    private String menuLevel;

    private boolean hasChildren;//是否有子节点

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setParentId(String parentId) 
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }
    public void setParentIds(String parentIds) 
    {
        this.parentIds = parentIds;
    }

    public String getParentIds() 
    {
        return parentIds;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSort(Long sort) 
    {
        this.sort = sort;
    }

    public Long getSort() 
    {
        return sort;
    }
    public void setMonSysCode(String monSysCode) 
    {
        this.monSysCode = monSysCode;
    }

    public String getMonSysCode() 
    {
        return monSysCode;
    }
    public void setMenuExplain(String menuExplain) 
    {
        this.menuExplain = menuExplain;
    }

    public String getMenuExplain() 
    {
        return menuExplain;
    }
    public void setReleaseTime(Date releaseTime) 
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime() 
    {
        return releaseTime;
    }
    public void setAccePath(String accePath) 
    {
        this.accePath = accePath;
    }

    public String getAccePath() 
    {
        return accePath;
    }
    public void setOperStaff(String operStaff) 
    {
        this.operStaff = operStaff;
    }

    public String getOperStaff() 
    {
        return operStaff;
    }
    public void setOperTime(Date operTime) 
    {
        this.operTime = operTime;
    }

    public Date getOperTime() 
    {
        return operTime;
    }
    public void setSortNo(Long sortNo) 
    {
        this.sortNo = sortNo;
    }

    public Long getSortNo() 
    {
        return sortNo;
    }
    public void setIsPar(String isPar) 
    {
        this.isPar = isPar;
    }

    public String getIsPar() 
    {
        return isPar;
    }
    public void setMenuLevel(String menuLevel) 
    {
        this.menuLevel = menuLevel;
    }

    public String getMenuLevel() 
    {
        return menuLevel;
    }

    public boolean isHasChildren() {
        return hasChildren;
    }

    public void setHasChildren(boolean hasChildren) {
        this.hasChildren = hasChildren;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("remarks", getRemarks())
            .append("delFlag", getDelFlag())
            .append("parentId", getParentId())
            .append("parentIds", getParentIds())
            .append("name", getName())
            .append("sort", getSort())
            .append("monSysCode", getMonSysCode())
            .append("menuExplain", getMenuExplain())
            .append("releaseTime", getReleaseTime())
            .append("accePath", getAccePath())
            .append("operStaff", getOperStaff())
            .append("operTime", getOperTime())
            .append("sortNo", getSortNo())
            .append("isPar", getIsPar())
            .append("menuLevel", getMenuLevel())
            .toString();
    }
}
